﻿Public Class frmGiaoVien
    Sub LoadDanhSach()
        Dim dt As DataTable
        dt = GiaoVienDAO.SelectAll()
        dgvGiaoVien.DataSource = dt
    End Sub
    Sub Them()
        Dim gv As GiaoVienDTO = New GiaoVienDTO()
        gv.MaGV = txtMaGV.Text
        gv.HoTen = txtHoTen.Text
        gv.NgaySinh = dtpNgaySinh.Value
        gv.GioiTinh = cmbGioiTinh.Text
        gv.DanToc = cmbDanToc.Text
        gv.Khoa = cmbKhoa.Text
        gv.ChucVu = cmbChucVu.Text
        gv.HocVi = cmbHocVi.Text
        gv.PhongBan = cmbPhongBan.Text
        gv.QueQuan = txtQueQuan.Text
        GiaoVienDAO.Insert(gv)
        LoadDanhSach()
    End Sub
    Sub Xoa()
        Dim gv As GiaoVienDTO = New GiaoVienDTO()
        gv.MaGV = txtMaGV.Text
        GiaoVienDAO.Delete(gv)
        LoadDanhSach()
    End Sub
    Sub Sua()
        Dim gv As GiaoVienDTO = New GiaoVienDTO()
        gv.MaGV = txtMaGV.Text
        gv.HoTen = txtHoTen.Text
        gv.NgaySinh = dtpNgaySinh.Value
        gv.GioiTinh = cmbGioiTinh.Text
        gv.DanToc = cmbDanToc.Text
        gv.Khoa = cmbKhoa.Text
        gv.ChucVu = cmbChucVu.Text
        gv.HocVi = cmbHocVi.Text
        gv.PhongBan = cmbPhongBan.Text
        gv.QueQuan = txtQueQuan.Text
        GiaoVienDAO.Update(gv)
        LoadDanhSach()
    End Sub
    Sub Tim()
        Dim gv As GiaoVienDTO = New GiaoVienDTO()
        gv.MaGV = txtMaGV.Text
        gv.HoTen = txtHoTen.Text
        gv.NgaySinh = dtpNgaySinh.Text
        gv.GioiTinh = cmbGioiTinh.Text
        gv.DanToc = cmbDanToc.Text
        gv.Khoa = cmbKhoa.Text
        gv.ChucVu = cmbChucVu.Text
        gv.HocVi = cmbHocVi.Text
        gv.PhongBan = cmbPhongBan.Text
        gv.QueQuan = txtQueQuan.Text
        dgvGiaoVien.DataSource = GiaoVienDAO.SelectByGV(gv)
    End Sub
    Sub Clear()
        txtMaGV.Text = ""
        txtHoTen.Text = ""
        txtQueQuan.Text = ""
        dtpNgaySinh.Text = ""
        cmbKhoa.Text = ""
        cmbChucVu.Text = ""
        cmbDanToc.Text = ""
        cmbGioiTinh.Text = ""
        cmbHocVi.Text = ""
        cmbPhongBan.Text = ""
        txtMaGV.Focus()

    End Sub
    Sub Hien_thi_khoa()
        Dim dt As New DataTable
        dt = KhoaDAO.SelectAll()
        cmbKhoa.DataSource = dt
        cmbKhoa.DisplayMember = "TenKhoa"
    End Sub

    Sub hien_thi_gioitinh()
        'Khai báo ArrayList  
        Dim gioitinh As New ArrayList()
        'Đưa vào ArrayList giá trị
        gioitinh.Add("Nam")
        gioitinh.Add("Nữ")
        'Đưa mảng vào ComboBox
        cmbGioiTinh.DataSource = gioitinh
    End Sub
    Sub hien_thi_dantoc()
        Dim dantoc As New ArrayList()
        dantoc.Add("Kinh")
        dantoc.Add("Hoa")
        dantoc.Add("Khơ Me")
        cmbdantoc.DataSource = dantoc
    End Sub
    Sub hien_thi_chucvu()
        Dim chucvu As New ArrayList()
        chucvu.Add("Hiệu Trưởng")
        chucvu.Add("P.Hiệu Trưởng")
        chucvu.Add("Bí Thư Đoàn Trường")
        chucvu.Add("P.Bí Thư Đoàn Trường")
        chucvu.Add("Trưởng Phòng")
        chucvu.Add("P.Trưởng Phòng")
        chucvu.Add("Giảng Viên")
        cmbchucvu.DataSource = chucvu
    End Sub
    Sub hien_thi_hocvi()
        Dim hocvi As New ArrayList()
        hocvi.Add("Thạc Sĩ")
        hocvi.Add("Tiến Sĩ")
        hocvi.Add("P.Tiến Sĩ")
        cmbhocvi.DataSource = hocvi
    End Sub
    Sub hien_thi_phongban()
        Dim phongban As New ArrayList()
        phongban.Add("Phòng Đào Tạo")
        phongban.Add("Phòng Quản Lý SV")
        'phongban .Add("")
        cmbphongban.DataSource = phongban
    End Sub
    Private Function CheckDataInput() As Boolean
        If txtMaGV.Text = "" Then
            MsgBox("Bạn hãy nhập Mã Giáo Viên, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            txtMaGV.Focus()
        ElseIf txtHoTen.Text = "" Or IsNumeric(txtHoTen.Text) Then
            MsgBox("Bạn nhập họ tên GV không hợp lệ !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            txtHoTen.Text = ""
            txtHoTen.Focus()
        ElseIf DateTime.Now.Year - dtpNgaySinh.Value.Year < 22 Then
            MsgBox("Ngày sinh không hợp lệ, phải trên 22 tuổi !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            dtpNgaySinh.Focus()
        ElseIf cmbGioiTinh.Text = "" Then
            MsgBox("Bạn hãy chọn Giới Tính, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbGioiTinh.Focus()
        ElseIf cmbDanToc.Text = "" Then
            MsgBox("Bạn hãy chọn Dân Tộc, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbDanToc.Focus()
        ElseIf cmbKhoa.Text = "" Then
            MsgBox("Bạn hãy chọn Khoa, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbKhoa.Focus()
        ElseIf cmbChucVu.Text = "" Then
            MsgBox("Bạn hãy chọn Chức Vụ, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbChucVu.Focus()
        ElseIf cmbHocVi.Text = "" Then
            MsgBox("Bạn hãy chọn Học Vị, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbHocVi.Focus()
        ElseIf cmbPhongBan.Text = "" Then
            MsgBox("Bạn hãy chọn Phòng Ban, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            cmbPhongBan.Focus()
        ElseIf txtQueQuan.Text = "" Or IsNumeric(txtQueQuan.Text) Then
            MsgBox("Bạn nhập Quê Quán không hợp lệ !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            Return False
            txtQueQuan.Text = ""
            txtQueQuan.Focus()

        End If
        Return True
    End Function
    Sub HienThi()
        If (dgvGiaoVien.SelectedRows.Count > 0) Then
            txtMaGV.Text = dgvGiaoVien.SelectedRows(0).Cells(0).Value.ToString()
            txtHoTen.Text = dgvGiaoVien.SelectedRows(0).Cells(1).Value.ToString()
            dtpNgaySinh.Value = dgvGiaoVien.SelectedRows(0).Cells(2).Value.ToString()
            cmbGioiTinh.Text = dgvGiaoVien.SelectedRows(0).Cells(3).Value.ToString()
            cmbDanToc.Text = dgvGiaoVien.SelectedRows(0).Cells(4).Value.ToString()
            cmbKhoa.Text = dgvGiaoVien.SelectedRows(0).Cells(5).Value.ToString()
            cmbChucVu.Text = dgvGiaoVien.SelectedRows(0).Cells(6).Value.ToString()
            cmbHocVi.Text = dgvGiaoVien.SelectedRows(0).Cells(7).Value.ToString()
            cmbPhongBan.Text = dgvGiaoVien.SelectedRows(0).Cells(8).Value.ToString()
            txtQueQuan.Text = dgvGiaoVien.SelectedRows(0).Cells(9).Value.ToString()
        End If
    End Sub


    Private Sub frmPhong_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Hien_thi_khoa()
        hien_thi_chucvu()
        hien_thi_dantoc()
        hien_thi_hocvi()
        hien_thi_phongban()
        hien_thi_gioitinh()
        LoadDanhSach()
    End Sub

    Private Sub btnthoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThoat.Click
        Me.Close()
    End Sub

    Private Sub btnxoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        If dgvGiaoVien.SelectedRows.Count > 0 Then
            If MsgBox("Bạn có thật muốn xóa !", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Thông báo") = MsgBoxResult.Yes Then
                Xoa()
                LoadDanhSach()
                Clear()
            Else
                Exit Sub
            End If
        Else
            MsgBox("Chọn mẫu tin cần xoá !", MsgBoxStyle.Question + MsgBoxStyle.OkOnly, "Thông báo")
        End If
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        Dim dt As New DataTable
        dt = GiaoVienDAO.SelectAll
        Dim tam As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Magv") = txtMaGV.Text Then
                tam += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Giáo Viên ! Vui lòng nhập lại !")
            txtMaGV.Text = ""
            txtMaGV.Focus()
        Else
            If CheckDataInput() = True Then
                Sua()
                Clear()
            End If
        End If
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        Clear()

    End Sub

    Private Sub btntim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        Tim()
    End Sub


    Private Sub dgvGiaoVien_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvGiaoVien.SelectionChanged
        HienThi()
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        Dim dt As New DataTable
        dt = GiaoVienDAO.SelectAll
        Dim tam As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Magv") = txtMaGV.Text Then
                tam += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Giáo Viên ! Vui lòng nhập lại !")
            txtMaGV.Text = ""
            txtMaGV.Focus()
        Else
            If CheckDataInput() = True Then
                Them()
                Clear()
            End If
        End If
    End Sub

    Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click
        Dim f As New frmBaoCaoGV
        f.Show()
    End Sub

    Private Sub dgvGiaoVien_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvGiaoVien.CellContentClick

    End Sub

    Private Sub txtHoTen_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHoTen.TextChanged

    End Sub
End Class